// 配置封装 axios 请求

// 引入axios
import axios from "axios";

// instance 还是axios,只不过该axios 具备baseURL timeout headers
// console.log(process.env.VUE_APP_BASE_URL);//开发
// proces.env 是node中的全局变量  js-window
const instance = axios.create({
  baseURL: process.env.VUE_APP_BASE_URL, // 配置公共请求地址
  timeout: 5000, // 配置请求时长(超时取消请求)
  headers: { "content-type": "application/json" }, //配置请求头(只针对post请求)
});

// 设置请求拦截
instance.interceptors.request.use(
  function (config) {
    // 请求发送前的逻辑处理
    // 一般用于修改请求头,给请求头设置参数,该参数为token,然后后端就可以从请求头中获取该参数
    const token=localStorage.getItem('token')
    if(token){
      //请求发送前,设置headers属性,添加参数
      config.headers['X-Nideshop-Token']=token
    }
   
    return config;
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error);
  }
);

// 设置响应拦截
instance.interceptors.response.use(
  function (response) {
    // 可以做一些数据的操作: 状态码的判断  更新一些本地存储内容
    return response;
  },
  function (error) {
    // Do something with response error
    return Promise.reject(error);
  }
);


// 导出 instance
export default instance